package com.goldrepo.play.service;

import com.goldrepo.play.config.CacheLoader;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import java.util.*;
import java.util.concurrent.ThreadLocalRandom;
import java.util.stream.Collectors;

/**
 * <p>Description: 服务</p>
 *
 * @author Goldrepo
 * @date 2022-05-11 18:34
 **/
@Service
public class ZYService {

    private static final Logger logger = LoggerFactory.getLogger(ZYService.class);
    private static final Map<String, String> contents = new HashMap<>();
    private static final Map<String, String> symbols = new HashMap<>();

    static {
        // 单卦
        // 乾(1,1,1)【天】、坎(0,1,0)【水】、艮(gen)(1,0,0)【山】、震(0,0,1)【雷】
        // 巽(xun)(1,1,0)【风】、离(1,0,1)【火】、坤(0,0,0)【地】、兑(0,1,1)【泽】
        // 别卦(重卦)
        // ======================上经======================
        symbols.put("1,1,1,1,1,1","乾为天");
        contents.put("乾上乾下(1,1,1,1,1,1)", "乾为天【乾(qian)】\n" +
                "困龙得水,上上卦\n" +
                "卦辞: 困龙得水好运交, 不由喜气上眉梢, 一切谋望皆如意, 向后时运渐渐高\n" +
                "推断: 词讼和吉，病人痊愈，功名有成，求名大吉。\n" +
                "大象: 天行刚健，自强不息\n" +
                "运势: 飞龙在天，名利双收之象，宜把握机会，争取成果。\n" +
                "爱情: 双方逞强，宜多加沟通迁就。\n" +
                "疾病: 病情恶化，宜细心调养，注意头、脑、骨髓等病变。\n" +
                "失物: 可望寻回。\n" +
                "诉讼: 宜据理力争。");
        symbols.put("0,0,0,0,0,0","坤为地");
        contents.put("坤上坤下(0,0,0,0,0,0)", "坤为地【坤(kun)】\n" +
                "饿虎得食,上中卦\n" +
                "卦辞: 饿虎得食喜气欢，求名应事主高迁。出门吉利行人到，是非口舌不相干\n" +
                "推断: 找人得见，走失有信，疾病见好，凡事皆顺。\n" +
                "大象: 大地承载万物，以德服众，仁者无敌\n" +
                "运势: 诸事不宜急进，以静制动为宜。\n" +
                "爱情: 急进有失，缓进反成，欲速不达。\n" +
                "疾病: 病情严重，为腹、肠胃、肌肉等慢性病。\n" +
                "失物: 难以寻回，大部份均不知下落。\n" +
                "诉讼: 防房地产之争，宜和解，有始无终之兆。");
        symbols.put("0,1,0,0,0,1","水雷屯");
        contents.put("坎上震下(0,1,0,0,0,1)", "水雷屯【屯(zhun)】\n" +
                "乱丝无头,下下卦\n" +
                "卦辞: 风刮乱丝不见头，颠三倒四犯忧愁。慢行缓来头有绪，急促反惹不自由\n" +
                "推断: 疾病未好，婚姻不巧，口舌琐碎，做事颠倒。\n" +
                "大象: 屯者难也，万事欲进而不得进\n" +
                "运势: 身处困境，步步为营，有初难后解之意。\n" +
                "爱情: 感情发展受阻，宜坚守信念，排除困难。\n" +
                "疾病: 病在肠胃，足部或泌尿系统，不宜掉以轻心。\n" +
                "失物: 难以寻回。\n" +
                "诉讼: 小事粘滞纠缠，大事反无大害，宜和解。");
        symbols.put("1,0,0,0,1,0","山水蒙");
        contents.put("艮上坎下(1,0,0,0,1,0)", "山水蒙【蒙(meng)】\n" +
                "小鬼偷钱,中下卦\n" +
                "卦辞: 卦中气象犯小耗，谋望求财枉徒劳。婚姻合伙有人破，交易出行犯唠叨\n" +
                "推断: 为人仔细，挣钱费力，有心学好，小鬼偷去。\n" +
                "大象: 蒙者，昏而无所见也，故宜「启蒙」\n" +
                "运势: 初时迷惑不知方向，须忍耐待机而动，凡事多听取别人意见，则运可通。\n" +
                "爱情: 落花有意流水无情，主缺乏勇气与决心。\n" +
                "疾病: 病情不明，反覆难治。为肠胃、腹水之疾及传染病。\n" +
                "失物: 遍寻不获。似乎在大门下陷之处遗失，忘记带走，可试问人。\n" +
                "诉讼: 因外人引起事端，目下未明，有理讲不清。");
        symbols.put("0,1,0,1,1,1","水天需");
        contents.put("坎上乾下(0,1,0,1,1,1)", "水天需【需(xu)】\n" +
                "明珠出土,上上卦\n" +
                "卦辞: 明珠土埋日久深，无光无毫到如今。忽然大风吹去土，自然显露又重新\n" +
                "推断: 谋望有成，婚姻最合，求财如意，也喜动挪。\n" +
                "大象: 云登天上而未雨，不能急进，等待时机之象\n" +
                "运势: 智者必须待时而行，急进反见凶险。\n" +
                "爱情: 感情发展初期不如意，必须耐心等待，方见有成。\n" +
                "疾病: 病情拖延，须留心治疗，为头胸肺、泌尿系统等病。\n" +
                "失物: 即时不能寻回，需经过一段时间将会出现。\n" +
                "诉讼: 暂时未能了结，以和为贵。");
        symbols.put("1,1,1,0,1,0","天水讼");
        contents.put("乾上坎下(1,1,1,0,1,0)", "天水讼【讼(song)】\n" +
                "二人争路,平平卦\n" +
                "卦辞: 二人争路未肯降，占着此卦费主张。交易出行有阻隔，生意合伙有平常\n" +
                "推断: 月令不济，光生闲气，好事难成，求财费力。\n" +
                "大象: 乾天升于上，坎水降于下，相背而行而起讼\n" +
                "运势: 事与愿违，凡事不顺，小人加害，宜防陷阱。\n" +
                "爱情: 反覆不定，是非频频，更防小人破坏。\n" +
                "疾病: 病情严重，为腰、血液、泌尿系统、头部疾患。\n" +
                "失物: 不会出现。\n" +
                "诉讼: 两败俱伤，宜找中间人调解，久争无益。");
        symbols.put("0,0,0,0,1,0","地水师");
        contents.put("坤上坎下(0,0,0,0,1,0)", "地水师【师(shi)】\n" +
                "马到成功,上平卦\n" +
                "卦辞: 将帅领旨去出征，骑着烈马拉硬弓。百步穿杨去的准，箭射金钱喜气生\n" +
                "推断: 疾病大好，走失能找，行人有信，百事凑巧。\n" +
                "大象: 养兵聚众，出师攻伐之象，彼此有伤，难得安宁\n" +
                "运势: 困难重重，凡事以正规行事，忌独断独行，投机取巧，提防潜在敌人。\n" +
                "爱情: 阴盛阳衰，须提防色情之厄，似多角关系，求婚难成。\n" +
                "疾病: 病况严重，提防心脏或腹腔肿瘤等。\n" +
                "失物: 不会出现，即或寻回，也已损坏。\n" +
                "诉讼: 宜进不宜退，内心虽忧，但得贵人之助。");
        symbols.put("0,1,0,0,0,0","水地比");
        contents.put("坎上坤下(0,1,0,0,0,0)", "水地比【比(bi)】\n" +
                "船得顺风,上吉卦\n" +
                "卦辞: 顺风行船撒起棚，上天又助一篷风。不用费力逍遥去，任意而行大亨通\n" +
                "推断: 走失可寻，见官有理，婚姻求名，保管恭喜。\n" +
                "大象: 一阳统五阴，比邻相亲相辅，和乐之象\n" +
                "运势: 平顺可得贵人提拔，凡事宜速战速决，不可过份迟疑。\n" +
                "爱情: 两情相悦，美好良缘。\n" +
                "疾病: 新病宜速就医，久病则危，为腹、肾、耳等疾。\n" +
                "失物: 不会再现。通常均已遭损毁。\n" +
                "诉讼: 宜以和解态度面对，虽小人多，但可胜诉。");

        symbols.put("1,1,0,1,1,1","风天小畜");
        contents.put("巽上乾下(1,1,0,1,1,1)", "风天小畜【小畜(xu)】\n" +
                "密云不雨,下平卦\n" +
                "卦辞: 浓云密排下雨难，盼望行人不见还。交易出行空费力，婚姻求谋是枉然\n" +
                "推断: 月令中平，忍耐从容，疾病口舌，交节安宁。\n" +
                "大象: 蓄养之量有限，力不从心，故宜忍耐蓄养实力，静待时机\n" +
                "运势: 运势反覆，有口舌之争，但难于短期内解决，须忍耐，静待时机。\n" +
                "爱情: 意见分歧，或遭受长辈反对。\n" +
                "疾病: 危，重病，注意肝胆，头部病变。\n" +
                "失物: 似乎遗失的是金器或现金支票等物，有被硬物夹住，或者第三格的地方。\n" +
                "诉讼: 会因证据不足而败诉。");
        symbols.put("1,1,1,0,1,1","天泽履");
        contents.put("乾上兑下(1,1,1,0,1,1)", "天泽履【履(lv)】\n" +
                "俊鸟出笼,中吉卦\n" +
                "卦辞: 俊鸟幸得出笼中，脱离灾难显威风。一朝得志凌云去，东南西北任意行\n" +
                "推断: 合伙如意，迁移如心，买卖兴旺，求财十分。\n" +
                "大象: 柔弱遇刚强，欲行却难行之象，难且危也\n" +
                "运势: 先劳而后逸，始惊而后安，百事不宜急进，须以和待人，有惊无险。\n" +
                "爱情: 两情相悦，但阻碍重重，精诚所至，金石为开。\n" +
                "疾病: 病虽重，但注意调理亦可愈，防头、口、肺等疾。\n" +
                "失物: 赶快去找有可能寻回，留意行过的路上，或者有鞋的地方。\n" +
                "诉讼: 敌强而我弱之象，宜步步为营。");
        symbols.put("0,0,0,1,1,1","地天泰");
        contents.put("坤上乾下(0,0,0,1,1,1)", "地天泰【泰(tai)】\n" +
                "喜报三元,上吉卦\n" +
                "卦辞: 喜报三元运气强，谋望求财大吉祥。交易出行多得意，是非口舌总无妨\n" +
                "推断: 婚姻有成，行人即至，失物可寻，诸般凑巧。\n" +
                "大象: 天地阴阳之气相交感，上下和睦，流通无阻\n" +
                "运势: 诸事吉祥顺利，凡事宜内求，不宜外求，防乐极生悲。\n" +
                "爱情: 情投意合，良缘缔结。\n" +
                "疾病: 久病不利，注意肠肺及头部之症。\n" +
                "失物: 不会出现。\n" +
                "诉讼: 是非由小事化大，终可和解。");
        symbols.put("1,1,1,0,0,0","天地否");
        contents.put("乾上坤下(1,1,1,0,0,0)", "天地否【否(pi)】\n" +
                "虎落陷坑,下平卦\n" +
                "卦辞: 虎落陷坑不堪言，前进容易退后难。谋望不遂自己便，疾病口舌有牵连\n" +
                "推断: 占财可成，贵人远行，出行不宜，事事晚成。\n" +
                "大象: 天气上升，地气下降，天地之气不交，主闭塞不通\n" +
                "运势: 上下不和，百事不通，凡事宜忍，须知否极泰来。\n" +
                "爱情: 阴阳相背，拒人于千里之外，有不和及离别之象。\n" +
                "疾病: 占病为凶兆，病在脑、肺及肠胃等，慎防癌症。\n" +
                "失物: 寻不回。\n" +
                "诉讼: 各走极端，有口难言，宜及时求和。");
        symbols.put("1,1,1,1,0,1","天火同人");
        contents.put("乾上离下(1,1,1,1,0,1)", "天火同人【同人】\n" +
                "仙人指路,中吉卦\n" +
                "卦辞: 仙人指路过路通，劝君任意走西东。交易求财不费力，生意合伙也相通\n" +
                "推断: 婚姻有成，行人归来，走失可见，做事无差。\n" +
                "大象: 二人同心，其利断金，君子正心诚意，与人和同之象\n" +
                "运势: 如意吉祥，与人共事，上下皆和，又得长辈提拔。\n" +
                "爱情: 如鱼得水，彼此互敬互谅，定成美眷。\n" +
                "疾病: 病轻，不久可愈，注意心脏，头肺等疾。\n" +
                "失物: 遗失似文件眼镜等物，可能被压在底层，尽快找寻，则可取回。\n" +
                "诉讼: 凡事以和为贵。");
        symbols.put("1,0,1,1,1,1","火天大有");
        contents.put("离上乾下(1,0,1,1,1,1)", "火天大有【大有】\n" +
                "砍树摸雀,上中卦\n" +
                "卦辞: 砍树摸雀做事牢，是非口舌自然消。婚姻合伙不费力，若问走失未脱逃\n" +
                "推断: 恍惚不做，拿稳下手，若求名利，到处自有。\n" +
                "大象: 太阳在天，遍照大地万物，但五阳争一阴，须知有盈即缺\n" +
                "运势: 得时得运，昌荣大吉，但防物极必反，盛极而衰。\n" +
                "爱情: 有情人终成眷属。\n" +
                "疾病: 治疗可愈，防高血压、心脏、头肺病患。\n" +
                "失物: 找寻费时，惟可失而得。\n" +
                "诉讼: 可圆满解决。");
        symbols.put("0,0,0,1,0,0","地山谦");
        contents.put("坤上艮下(0,0,0,1,0,0)", "地山谦【谦(qian)】\n" +
                "二人分金,上平卦\n" +
                "卦辞: 天赐贫人一封金，不用争来二人分。彼此分得金到手，一切谋望皆遂心\n" +
                "推断: 婚姻遂意，出外得地，交易合伙，无不吉利。\n" +
                "大象: 山应在地面上，而今在地下，代表谦逊之德\n" +
                "运势: 吉利平安。前途无限，但必须去除骄横之气。\n" +
                "爱情: 以谦诚之态度追求有成，可获良缘。\n" +
                "疾病: 防旧病发，腹部或背部之疾，但仍属吉象。\n" +
                "失物: 难以发现，有失窃的可能。\n" +
                "诉讼: 宜速和解，拖延不利。");
        symbols.put("0,0,1,0,0,0","雷地豫");
        contents.put("震上坤下(0,0,1,0,0,0)", "雷地豫【豫(yu)】\n" +
                "青龙得位,上中卦\n" +
                "卦辞: 天青龙得意喜气生，谋望求财事有成。婚姻出行无阻隔，是非口舌的安宁\n" +
                "推断: 交易即成，行人即归，头绪有准，合伙有利。\n" +
                "大象: 雷出于地上，阳气奋发，万物欣欣向荣\n" +
                "运势: 如意安泰，可得长辈扶助，但须防色难，凡事应有备而战。\n" +
                "爱情: 一帆风顺，天赐良缘，但女方年龄比男方大。\n" +
                "疾病: 凶险之卦，注意腹腔、肝胆之疾。\n" +
                "失物: 难以寻回。\n" +
                "诉讼: 有始而无终，易被多人连累，破财、受惊。");

        symbols.put("0,1,1,0,0,1","泽雷随");
        contents.put("兑上震下(0,1,1,0,0,1)", "泽雷随【随(sui)】\n" +
                "推车靠岸,下吉卦\n" +
                "卦辞: 推车靠堰道路干，谋望求财不费难。婚姻出行无阻隔，疾病口舌保平安\n" +
                "推断: 苦极生荣，喜气盈盈，一切做事，大运亨通。\n" +
                "大象: 震木在兑泽之下，木必随水漂荡，随者，顺也\n" +
                "运势: 有去旧迎新之吉象，宜与人合作，可获厚利，忌三心两意，或独断独行。\n" +
                "爱情: 防用情不专，沉迷情欲。\n" +
                "疾病: 病重、须长期治疗，注意口腔、肝、足患等症。\n" +
                "失物: 即将疏忽之时，会突然察觉。\n" +
                "诉讼: 宜决意和解，目前无忧，但不久须防有祸。");
        symbols.put("1,0,0,1,1,0","山风蛊");
        contents.put("艮上巽下(1,0,0,1,1,0)", "山风蛊【蛊(gu)】\n" +
                "推磨岔道,中下卦\n" +
                "卦辞: 卦中象如推磨，顺当为福反为祸。心中有数事改变，凡事尽从忙里错\n" +
                "推断: 出行无益，行人未回，走失难见，诸事莫为。\n" +
                "大象: 风入山下，闭而不出，即物腐生虫，意气不通，因循败事\n" +
                "运势: 诸事不如意，艰难迷惑，宜大胆革新，否则引来内忧外患。\n" +
                "爱情: 苦恼多，受人诱惑，关系复杂，切忌到处留情，徒增烦恼。\n" +
                "疾病: 宜把握治疗时机，冬季占得险象，为内脏恶性疾病。\n" +
                "失物: 找不回来，遗失似是木制工艺品，在门口或旅馆遗失，或者是寄失了。\n" +
                "诉讼: 慎防桃色纠纷，会拖一段时间，不易解决。");
        symbols.put("0,0,0,0,1,1","地泽临");
        contents.put("坤上兑下(0,0,0,0,1,1)", "地泽临【临】\n" +
                "发政施仁,上平卦\n" +
                "卦辞: 发政施仁志量高，出外求财任逍遥。交易婚姻大有意，走失行人有信耗\n" +
                "推断: 口舌消散，疾病即痊，求名称意，家宅平安。\n" +
                "大象: 池泽之水灌溉地面万物，相辅相成，生生不息\n" +
                "运势: 诸事亨通，上下和合，前途有望，但不宜过于急进。\n" +
                "爱情: 柔顺者可得吉利，注意欲速则不达。\n" +
                "疾病: 病情较轻，为肠胃，口腔之疾，并防泌尿生殖系统病变。\n" +
                "失物: 不能立即发现，很久才能找回。可能被埋在地下。是件会发声或震动的物件。\n" +
                "诉讼: 宜柔不宜刚，因本欲欺他人，反伤自己。");
        symbols.put("1,1,0,0,0,0","风地观");
        contents.put("巽上坤下(1,1,0,0,0,0)", "风地观【观】\n" +
                "鹳鹊同林,下中卦\n" +
                "卦辞: 鹊遇天晚宿林中，不知林内先有鹳。虽然同处心生恶，卦外逢之事非轻\n" +
                "推断: 先难后易，谋事不易，交过节令，忧愁变喜。\n" +
                "大象: 风运行于坤地之上，喻有周游观览之意。阴长阳消，正道衰微，万物难行\n" +
                "运势: 处身于变化之中，宜多观察入微，心身苦恼，并防外来诱惑。\n" +
                "爱情: 飘动不定，外表看好，但内里虚浮，宜得长辈扶助。\n" +
                "疾病: 有渐恶化之象，病情变化多，为腹、神经系统病症。\n" +
                "失物: 若能细心四察，可以找回来。\n" +
                "诉讼: 小人当道，愈争论惹起纷争愈多，但终会和解。");
        symbols.put("1,0,1,0,0,1","火雷噬嗑");
        contents.put("离上震下(1,0,1,0,0,1)", "火雷噬嗑【噬(shi)嗑(he)】\n" +
                "饥人遇食,中平卦\n" +
                "卦辞: 运拙如同身受饥，幸得送饭又遇食。适口充肠心欢喜，忧愁从此渐消移\n" +
                "推断: 见官有理，出门见喜，婚姻成全，事事如意。\n" +
                "大象: 上唇与下唇间有物，必须咬断，方能合拢，乃诸事被阻，务必去除，方可成功\n" +
                "运势: 诸事阻隔，纷争难免，宜守常规，不为利诱，问题可解决。\n" +
                "爱情: 有被人阻隔或横刀夺爱之象，宜勇往直前。\n" +
                "疾病: 病情严重，注意足部，心脏、神经系统病变。\n" +
                "失物: 有被人捷足捡走的可能，寻回的机会不大。\n" +
                "诉讼: 宜采取主动，据理力争。");
        symbols.put("1,0,0,1,0,1","山火贲");
        contents.put("艮上离下(1,0,0,1,0,1)", "山火贲【贲(bi)】\n" +
                "喜气迎门,中上卦\n" +
                "卦辞: 时来运转锐气周，窈窕淑女君子求。钟古乐之大吉庆，占着此卦喜临头\n" +
                "推断: 出门吉祥，诸事顺当，失物见得，月令高强。\n" +
                "大象: 日落西山，照耀通明，华美灿烂，同时喻光明力量渐消，阴暗的力量扩大\n" +
                "运势: 表面风光内里空虚，必须充实自己，凡事踏实，按部就班。\n" +
                "爱情: 不宜单注重外表而忽略内涵，不可自视太高。\n" +
                "疾病: 病情危重，为心脏、胸腹等病。\n" +
                "失物: 在家中遗失，将可寻回。不妨试试注意门脚的地方。\n" +
                "诉讼: 宜速求解决，不可拖延，可得贵人调解。");
        symbols.put("1,0,0,0,0,0","山地剥");
        contents.put("艮上坤下(1,0,0,0,0,0)", "山地剥【剥(bo)】\n" +
                "旱莲逢河,上吉卦\n" +
                "卦辞: 花遇甘露旱逢河，生意买卖利息多。婚姻自有人来助，出门永不受折磨\n" +
                "推断: 占讼得利，占病即愈，占信见得，谋事得意。\n" +
                "大象: 山附于地喻山石崩而落于地面上，五阴迫一阳，正义被损\n" +
                "运势: 恶运缠身，宜重新部署，不宜自作聪明，防被女子及小人连累。\n" +
                "爱情: 阴盛而阳衰，男追女则利，反之不利，是非小人多。\n" +
                "疾病: 病情恶化之象，防头痛、肠胃、性病等疾。\n" +
                "失物: 目前还隐藏在家中地上，可惜无法发现，不久会被扫走。\n" +
                "诉讼: 因财而起纷争，小人当道，宜避之则吉。");
        symbols.put("0,0,0,0,0,1","地雷复");
        contents.put("坤上震下(0,0,0,0,0,1)", "地雷复【复】\n" +
                "夫妻反目,中下卦\n" +
                "卦辞: 若占此卦不相和，忧疑愁闲无定夺。恩人无义反成怨，是非平地起风波\n" +
                "推断: 寻人不见，心事不定，交节换月，自然安宁。\n" +
                "大象: 雷在地中振发，喻春回大地，一元始，万象更生\n" +
                "运势: 开运亨通之象，万事不宜急进，按部就班可成。\n" +
                "爱情: 性急则事败，缓可得成，有合可能。\n" +
                "疾病: 病防 发，但可治，为肝、肠胃、神经系统病变。\n" +
                "失物: 有失而 得之可能。\n" +
                "诉讼: 多人之事，但经多次扰攘才可解决。");

        symbols.put("1,1,1,0,0,1","天雷无妄");
        contents.put("乾上震下(1,1,1,0,0,1)", "天雷无妄【无妄(wang)】\n" +
                "鸟困牢笼,中下卦\n" +
                "卦辞: 鸟如笼中难出头，占着此卦不自由。谋望求财不定准，疾病忧犯口舌愁\n" +
                "推断: 出门不遇，求财不利，婚姻走失，疾病不宜。\n" +
                "大象: 雷动于天，阳气舒发，为真实无虚妄之意\n" +
                "运势: 凡事宜守正，若行为不检者，必招灾祸。\n" +
                "爱情: 有不和，不顺遂或被伤害之凶象。\n" +
                "疾病: 不宜意气用事，应尽力疗养为宜，属呼吸系统，头、足之疾病。\n" +
                "失物: 找不到，似已遗失。\n" +
                "诉讼: 因女人或死亡之事起纷争，宜和解，否则招凶。");
        symbols.put("1,0,0,1,1,1","山天大畜");
        contents.put("艮上乾下(1,0,0,1,1,1)", "山天大畜【大畜(xu)】\n" +
                "阵势得开,中吉卦\n" +
                "卦辞: 忧愁常锁两眉间，千头万绪挂心间。从今以后打开阵，任意而行不相干\n" +
                "推断: 交节行人，出门大吉，好运有信，白事和顺。\n" +
                "大象: 天之大而在山之中，以小阻大，以阴畜阳，为止为养\n" +
                "运势: 处事不可好高骛远，宜脚踏实地，可成大业，忌目空一切。\n" +
                "爱情: 虽现时有小阻碍，但终可成功。\n" +
                "疾病: 病虽重，但可治，防胸肺，腹或手部之病，易积劳成疾。\n" +
                "失物: 有机会寻回。似是在圆形有盖盛存之物中。\n" +
                "诉讼: 因房地产引起，有破财之象，但纠纷可解。");
        symbols.put("1,0,0,0,0,1","山雷颐");
        contents.put("艮上震下(1,0,0,0,0,1)", "山雷颐【颐(yi)】\n" +
                "渭水访贤,上吉卦\n" +
                "卦辞: 文王访贤在渭滨，谋望求财事遂心。交易出行方如意，疾病口舌可离身\n" +
                "推断: 渭水访贤，大吉大利，占着此卦，好了运气。\n" +
                "大象: 形如口腔之象，取其饮食之道，须慎言，注重日常生活\n" +
                "运势: 处事欠缺周详考虑，不宜心怀阴谋，要守正道而善方吉。\n" +
                "爱情: 忌傲气凌人，宜重新估计对方之价值，切勿因情误了青春。\n" +
                "疾病: 占病为凶，久病者险，为肠胃、咽喉、手足之疾。\n" +
                "失物: 尽快去找，似被物件上下夹著。\n" +
                "诉讼: 我告他人终不能成，宜速和解。");
        symbols.put("0,1,1,1,1,0","泽风大过");
        contents.put("兑上巽下(0,1,1,1,1,0)", "泽风大过【大过】\n" +
                "夜梦金银,下下卦\n" +
                "卦辞: 夜梦金银醒来空，求名求利大不通。婚姻难成交易散，走失行人不见踪\n" +
                "推断: 月令不和，好事难谋，凡事忍耐，休要琢磨。\n" +
                "大象: 中间四阳爻，为结实之梁，但初末为阴爻，力弱不支，则势将摧折\n" +
                "运势: 有力不从心，负担过重之象，多烦恼，防官非及水险。\n" +
                "爱情: 双方之眼光均太高或各已有心上人，凶象。\n" +
                "疾病: 严重，须耐心治疗，为肺、神经系统，女占得妇科经带之疾。\n" +
                "失物: 无法发现，不能物归原主。\n" +
                "诉讼: 有文书之烦，即使求和也未能如愿。");
        symbols.put("0,1,0,0,1,0","坎为水");
        contents.put("坎上坎下(0,1,0,0,1,0)", "坎为水【坎(kan)】\n" +
                "水底捞月,下下卦\n" +
                "卦辞: 一路明月照水中，只见影儿不见踪。愚人当财下去取，摸来摸去一场空\n" +
                "推断: 求名不遂，疾病未愈，婚姻未成，合伙不利。\n" +
                "大象: 两水重叠，坎水为险，进固险，退亦险，进退两难\n" +
                "运势: 危机重重，宜沉著应付，保持心境开朗，凡事莫与人争。\n" +
                "爱情: 易沉溺于爱情中，但有险阻重重之象。\n" +
                "疾病: 病重宜速治，否则难救，注意肾脏，膀胱生殖器病。\n" +
                "失物: 找不回来。有失窃可能。或沉在水底。因坎水有困难之意。\n" +
                "诉讼: 有盗贼之讼，或田土之争，有理说不清，凶象。");
        symbols.put("1,0,1,1,0,1","离为火");
        contents.put("离上离下(1,0,1,1,0,1)", "离为火【离】\n" +
                "天官赐福,上上卦\n" +
                "卦辞: 占此卦者遇天宫，富禄必然降人间。一切谋望皆吉庆，愁闲消散主平安\n" +
                "推断: 月令皆善，诸事方便，出门见喜，灾消病散。\n" +
                "大象: 两离火相重，上下通明之象，火有气，但无形，主不实不定之意\n" +
                "运势: 外观极盛，烈日当空之象，凡事不宜急进及意气用事。\n" +
                "爱情: 不宜性急，会弄巧反拙，静而诚者必有所成。\n" +
                "疾病: 急病可解，久病则凶，宜耐心调养、为心脏眼科血疾。\n" +
                "失物: 动作快，可寻回。\n" +
                "诉讼: 只宜人侵己，不宜己侵人，主动者不利。");
        // ======================上经======================

        // ======================下经======================
        symbols.put("0,1,1,1,0,0","泽山咸");
        contents.put("兑上艮下(0,1,1,1,0,0)", "泽山咸【咸(xian)】\n" +
                "萌芽出土,平平卦\n" +
                "卦辞: 脚踏棒槌转悠悠，时运不来莫强求。幸喜今日时运转，自有好事在后头\n" +
                "推断: 谋望有成，出门可行，走失来信，疾病安宁。\n" +
                "大象: 少男在少女之下，彼此感应，象徵新婚，两性交感\n" +
                "运势: 如意吉祥，但勿为不正当感情而意乱情迷。\n" +
                "爱情: 正常恋情，则发展顺利，但名不顺者，当悬崖勒马。\n" +
                "疾病: 防泌尿系统病，肠胃病及性病等，须疗养得法，否则不利。\n" +
                "失物: 尽速找寻，可以取回，延误时机，则找不回来。\n" +
                "诉讼: 提防桃色纠纷，诸事宜和解，有贵人相助。");
        symbols.put("0,0,1,1,1,0","雷风恒");
        contents.put("震上巽下(0,0,1,1,1,0)", "雷风恒【恒(heng)】\n" +
                "鱼来撞网,上平卦\n" +
                "卦辞: 鱼来撞网乐自然，卦占行人不久还。交易婚姻两成就，谋望求财不费难\n" +
                "推断: 出行凑巧，有病就好，虽有口舌，自然消了。\n" +
                "大象: 震者为动，宜向外发展，巽为入为内向，一内一外，各居本位，故能永恒不变，喻夫妇之道\n" +
                "运势: 万事亨通，能恒久努力，安守本份则吉，妄动则招灾。\n" +
                "爱情: 万事亨通，恒久如意，终成美眷。\n" +
                "疾病: 为慢性及须长期治疗之疾。注意肝之疾。\n" +
                "失物: 不能寻回。\n" +
                "诉讼: 小人招祸，但宜速战速决，不利拖延，宜和解。");

        symbols.put("1,1,1,1,0,0","天山遯");
        contents.put("乾上艮下(1,1,1,1,0,0)", "天山遯【遯(dun)】\n" +
                "浓云蔽日,中平卦\n" +
                "卦辞: 浓云遮日不光明，劝君切莫远出行。婚姻求财皆不吉，须防口舌到门庭\n" +
                "推断: 占病不安，讼事见官，功名不成，事不遂心。\n" +
                "大象: 者遁也。山在天之下，阴渐长，而阳渐消，宜退避三舍\n" +
                "运势: 小人道长，君子道消，凡事宜退不宜进，穷则独善其身，养诲修身。\n" +
                "爱情: 落花虽有意，流水却无情。\n" +
                "疾病: 病重，注意血气不调、头、背、筋骨不良之疾。\n" +
                "失物: 失落远处，不能寻回。\n" +
                "诉讼: 强行争取亦不利，宜罢手逃避反吉。");
        symbols.put("0,0,1,1,1,1","雷天大壮");
        contents.put("震上乾下(0,0,1,1,1,1)", "雷天大壮【大壮】\n" +
                "工师得木,上平卦\n" +
                "卦辞: 卦占工师得大木，眼前该着走上路。时来运转多顺当，有事自管放心做\n" +
                "推断: 出门吉利，口舌远避，疾病皆除，行人即至。\n" +
                "大象: 雷声响亮，光明天际，为正大光明之象，又为强烈地动之象，为六冲卦之一\n" +
                "运势: 运势虽强，但已届极盛之时，宜心平气和，否则反招失败，须知物极必反。\n" +
                "爱情: 只要保持仁和谦恭，则有成果，否则易招反悔。\n" +
                "疾病: 生平少病者遇此卦则不利，注意急性呼吸道感染和脑疾等。\n" +
                "失物: 不能取回。\n" +
                "诉讼: 忌与人斗气，宜和解收场否则两败俱伤。");
        symbols.put("1,0,1,0,0,0","火地晋");
        contents.put("离上坤下(1,0,1,0,0,0)", "火地晋【晋(jin)】\n" +
                "锄地得金,上平卦\n" +
                "卦辞: 锄地锄去苗里草，谁想财帛将人找，谋望求财皆如意，这个运气也算好\n" +
                "推断: 进退两难，不敢强辩，拨云见日，该你出现。\n" +
                "大象: 日出地面，普照大地，有光明上进之象\n" +
                "运势: 事业、名望、财运皆吉，所谓有加官晋爵之兆。\n" +
                "爱情: 以柔顺态度追求，定可成功。\n" +
                "疾病: 久病者凶，近病无妨，注意胃肠、心脏之疾。\n" +
                "失物: 动作快，可以寻回来。似是在地上的箱子之类藏著。\n" +
                "诉讼: 最终能圆满解决。");
        symbols.put("0,0,0,1,0,1","地火明夷");
        contents.put("坤上离下(0,0,0,1,0,1)", "地火明夷【明夷(yi)】\n" +
                "过河拆桥,下平卦\n" +
                "卦辞: 时乖运拙走不着，急忙过河拆了桥。恩人无义反为怨，凡事无功枉受劳\n" +
                "推断: 行人未至，头绪不清，口舌紧避，凡事小心。\n" +
                "大象: 太阳掩没在坤地之下，大地黑暗，有失明之象\n" +
                "运势: 百事阻滞，小人加害，遇事多迷惑，宜守，静待时机而动。\n" +
                "爱情: 对方不接受自己，难得成功。\n" +
                "疾病: 凶象。为潜伏已久之疾，注意心脏、腹部之疾或神经病。\n" +
                "失物: 不能立即寻回。正当要遗忘这件事时，会意外地有所发现。\n" +
                "诉讼: 败象，宜和解了事，愈争愈苦。");
        symbols.put("1,1,0,1,0,1","风火家人");
        contents.put("巽上离下(1,1,0,1,0,1)", "风火家人【家人】\n" +
                "镜里观花,下下卦\n" +
                "卦辞: 镜里观花休认真，谋望求财不遂心。交易慢成婚姻散，走失行人无音信\n" +
                "推断: 找人不遇，疾病未愈，求名不准，官事不宜。\n" +
                "大象: 风吹火之象，助火之威，喻家人同心协力，发展事业\n" +
                "运势: 平安大吉，与人合作则易成，更有喜庆之象，如添丁婚嫁等。\n" +
                "爱情: 大吉之象，终成美眷。\n" +
                "疾病: 注意心脏或胆病，必须小心调理。\n" +
                "失物: 出现。隐藏在家中。可能是被家人收起来了。\n" +
                "诉讼: 虽产生大疑虑，若行事合理则无碍。");
        symbols.put("1,0,1,0,1,1","火泽睽");
        contents.put("离上兑下(1,0,1,0,1,1)", "火泽睽【睽(kui)】\n" +
                "行走薄冰,下平卦\n" +
                "卦辞: 路上行人色匆匆，过河无桥遇薄冰。小心谨慎过得去，一步错了落水中\n" +
                "推断: 薄冰甚险，行人难禁，若占此卦，凡事小心。\n" +
                "大象: 离火向上，兑泽则向下，一上一下，两相乖违，又二女同居，不得正之象\n" +
                "运势: 气运欠佳，诸事难成，有水火不容之象，宜处变不惊。\n" +
                "爱情: 互相皆无意，不宜寄望。\n" +
                "疾病: 轻症宜速就医，重症则危，更防断症错误，注意心脏，寒热失调之症。\n" +
                "失物: 不能找回。有失窃的可能。\n" +
                "诉讼: 宜速求和解，迟则理屈辞穷。");
        symbols.put("0,1,0,1,0,0","水山蹇");
        contents.put("坎上艮下(0,1,0,1,0,0)", "水山蹇【蹇(jian)】\n" +
                "雨雪载途,下下卦\n" +
                "卦辞: 大雨倾地雪满天，路上行人苦又难，拖泥带水费尽力，事不遂心且耐烦\n" +
                "推断: 行人未至，投向无门，好事难成，求名不准。\n" +
                "大象: 前路险陷，后有高山，进退维谷，如跛者举步为艰\n" +
                "运势: 多灾多难，进退两难，此时宜守正道，不可轻举妄动，动反招祸。\n" +
                "爱情: 困难重重，破象已现。\n" +
                "疾病: 病重，不可疏忽医治，注意肾、胃、手部四肢损伤。\n" +
                "失物: 搜索有困难阻滞而停止，不能寻回。\n" +
                "诉讼: 终必有险，更防血光。不宜起讼，动则招咎。");
        symbols.put("0,0,1,0,1,0","雷水解");
        contents.put("震上坎下(0,0,1,0,1,0)", "雷水解【解】\n" +
                "五关脱难,中吉卦\n" +
                "卦辞: 五关脱难运抬头，劝君须当把财求。交易出行有人助，疾病口舌不用愁\n" +
                "推断: 疾病大好，行人来早，谋望成全，诸般凑巧。\n" +
                "大象: 春雷大作，大地解冻，喻冬去春来生机再现\n" +
                "运势: 宜把握良机，快速处理，身边困境，更宜出外求谋，因贵人在远方，以西南为吉方。\n" +
                "爱情: 无须犹疑，把握良机，可成功。\n" +
                "疾病: 久病可治愈，注意肝、肾、足疾。\n" +
                "失物: 遗失之物似有被支解破坏的可能，故寻回的机会不大。\n" +
                "诉讼: 一般纠纷皆可解决，宜当机立断，不可拖延。");

        symbols.put("1,0,0,0,1,1","山泽损");
        contents.put("艮上兑下(1,0,0,0,1,1)", "山泽损【损(sun)】\n" +
                "推车掉耳,下中卦\n" +
                "卦辞: 时运不至费心多，比作推车受折磨。山路崎岖掉了耳，左插右安安不着\n" +
                "推断: 时运不遂，不可胡为，交节换月，自然夺魁。\n" +
                "大象: 山高水深，各得其所，因损得益之象\n" +
                "运势: 现况诸事不顺，有破财之象，虽先损失，但后反而得益，因祸得福。\n" +
                "爱情: 不利女性之卦。以诚信待人，可得成功，不宜斤斤计较。\n" +
                "疾病: 现况病情虽重，积极治疗可愈。身体较衰弱，注意肠胃、咽喉、贫血等疾。\n" +
                "失物: 不能寻回。\n" +
                "诉讼: 有斗争之象，损失破财，和解反而获益。");
        symbols.put("1,1,0,0,0,1","风雷益");
        contents.put("巽上震下(1,1,0,0,0,1)", "风雷益【益】\n" +
                "枯木开花,中吉卦\n" +
                "卦辞: 时来运转喜气发，多年枯木又开花。枝叶重生多茂盛，几人见了几人夸\n" +
                "推断: 交易有成，见官有理，走失得见，出门见喜。\n" +
                "大象: 强风配快雷，声威增长之象，长男配长女，夫妇合体，增益儿孙之象\n" +
                "运势: 现正当吉运，可得贵人之助而成功，宜施惠于人，施比受更有福。\n" +
                "爱情: 相亲相爱，良缘天定。\n" +
                "疾病: 可治愈，提防肝胆、肠胃之疾，或性病等。\n" +
                "失物: 有望可寻回。\n" +
                "诉讼: 有牢狱之灾，或事因女人、房地产引起，宜和解。");
        symbols.put("0,1,1,1,1,1","泽天夬");
        contents.put("兑上乾下(0,1,1,1,1,1)", "泽天夬【夬(guai)】\n" +
                "游蜂脱网,中吉卦\n" +
                "卦辞: 游蜂脱网喜无边，添财进口福禄连。外则通达内则顺，富贵荣华胜以前\n" +
                "推断: 诉讼了结，疾病除根，求财到手，任意遂心。\n" +
                "大象: 泽水积满而泛滥成灾，滔天之势。又五阳爻之盛势必除去唯一阴爻，故一阴孤立\n" +
                "运势: 目前虽吉，但困难及变动正在蕴酿中，宜提高警觉，忌骄傲，防口舌是非。\n" +
                "爱情: 决裂之象。但多为男方摒弃女方之象。\n" +
                "疾病: 病情重宜速治，防头部、呼吸系统、肿瘤等疾。\n" +
                "失物: 相信失物已经损坏，不能寻回。\n" +
                "诉讼: 不宜与人争执，因势孤力弱，宜寻求法律途径解决。");
        symbols.put("1,1,1,1,1,0","天风姤");
        contents.put("乾上巽下(1,1,1,1,1,0)", "天风姤【姤(gou)】\n" +
                "他乡遇友,上平卦\n" +
                "卦辞: 他乡遇友喜气欢，须知运气福重添。自今交了顺当运，向后保管不相干\n" +
                "推断: 功名有成，家宅平安，失物得见，占病无妨。\n" +
                "大象: 风无孔不入，所吹到之处，暴露其间之物体，无一不与之相遇，为邂逅之意\n" +
                "运势: 阴长阳消，注意桃色纠纷，诸事阻滞，宜慎重行事。\n" +
                "爱情: 双方互不满意，感情复杂，用情不专之象。\n" +
                "疾病: 病情重，有恶化青况，注意泌尿生殖系统、胸肺科病。\n" +
                "失物: 尽快寻找，可失而得。失物似被重重物件压在最底部。\n" +
                "诉讼: 提防桃色纠纷，是非谣言播弄。");
        symbols.put("0,1,1,0,0,0","泽地萃");
        contents.put("兑上坤下(0,1,1,0,0,0)", "泽地萃【萃(cui)】\n" +
                "鲤鱼化龙,中吉卦\n" +
                "卦辞: 鲤鱼化龙喜气来，口舌疾病永无灾。愁疑从此都消散，祸门闭来福门开\n" +
                "推断: 鲤鱼化龙，喜气重重，求财到手，做事有功。\n" +
                "大象: 泽在地上，水聚于泥土中，滋养草木，生长茂盛\n" +
                "运势: 吉运昌盛，又得长辈提携，事业大利，但须防财务纠纷。\n" +
                "爱情: 可喜可贺之吉象。\n" +
                "疾病: 凶象，宜速诊治，防胸腹及咽喉之病变。\n" +
                "失物: 多半能失而 得。\n" +
                "诉讼: 宜解不宜结。");
        symbols.put("0,0,0,1,1,0","地风升");
        contents.put("坤上巽下(0,0,0,1,1,0)", "地风升【升】\n" +
                "指日高升,上吉卦\n" +
                "卦辞: 指日离升气象新，走失行人有音信。功名出行遂心好，疾病口舌皆除根\n" +
                "推断: 求财到手，谋事可成，寻人得见，家宅安宁。\n" +
                "大象: 树木从地上不断向上，有进升之势\n" +
                "运势: 名利双收，发展开运之象，宜向南方发展。\n" +
                "爱情: 可望成功，但不宜急进。\n" +
                "疾病: 病情重，注意腹部，胆管之疾。\n" +
                "失物: 不易寻回，失物有被束之高阁的可能。\n" +
                "诉讼: 宜持平和态度处理，可争取主动，胜算在握。");
        symbols.put("0,1,1,0,1,0","泽水困");
        contents.put("兑上坎下(0,1,1,0,1,0)", "泽水困【困】\n" +
                "撮杆抽梯,下平卦\n" +
                "卦辞: 时运不来有人欺，千方百计费商议。明明与你说好话，撮上杆去抽了梯\n" +
                "推断: 当交君子，莫听小人，凡事谨慎，永不受穷。\n" +
                "大象: 水在泽下，万物不生，喻君子困穷，小人滥盈之象\n" +
                "运势: 诸事不如意，所谓龙游浅水遭虾戏。\n" +
                "爱情: 多失败收场，难成气候。\n" +
                "疾病: 危重之象，注意口腔咽喉，泌尿系统，甚至性病。\n" +
                "失物: 不能寻回。\n" +
                "诉讼: 凡事不宜过于执著，虽防牢狱之灾。");
        symbols.put("0,1,0,1,1,0","水风井");
        contents.put("坎上巽下(0,1,0,1,1,0)", "水风井【井】\n" +
                "枯井生泉,上中卦\n" +
                "卦辞: 枯井破了已多年，一朝涌泉出水新。资生济渴人称羡，时来运转乐自然\n" +
                "推断: 精神渐爽，富禄日增，出入皆吉，百事亨通。\n" +
                "大象: 水被植物吸收，滋养树身又象徵汲器入井取水，有节约重覆之意\n" +
                "运势: 井为静物，不能移动，故凡事不能进取主动，又缺乏冲劲，不如处之泰然更有利。\n" +
                "爱情: 形势不大理想，有分开再合之象，故往后可成。\n" +
                "疾病: 病情较重且拖延，可能是发。\n" +
                "失物: 不能寻回。\n" +
                "诉讼: 有刑罚之象，且受人牵连，及防房地产之诉讼。");

        symbols.put("0,1,1,1,0,1","泽火革");
        contents.put("兑上离下(0,1,1,1,0,1)", "泽火革【革】\n" +
                "旱苗得雨,上平卦\n" +
                "卦辞: 苗逢旱天渐渐衰，幸得天恩降雨来。忧去喜来能变化，求谋诸事遂心怀\n" +
                "推断: 出行大吉，走失能找，行人来信，百般凑巧。\n" +
                "大象: 兑为金，被离火所烧，变革之象\n" +
                "运势: 凡事均在变动之中，宜去旧立新，以应革新之象。\n" +
                "爱情: 代表往事如烟，重新再开始，或应改旧有态度。\n" +
                "疾病: 病情多变，宜改换求医方法，注意心脏，眼目和咽喉之疾。\n" +
                "失物: 因有弃旧迎新之意，故相信不能寻回。\n" +
                "诉讼: 要改变旧有对策，才可圆满解决。");
        symbols.put("1,0,1,1,1,0","火风鼎");
        contents.put("离上巽下(1,0,1,1,1,0)", "火风鼎【鼎】\n" +
                "渔人得利,上中卦\n" +
                "卦辞: 若占此卦喜自然，求名求利两周全。婚姻合伙皆如意，生意兴隆乐自然\n" +
                "推断: 出门有益，交易可成，官事无妨，诸事安宁。\n" +
                "大象: 木之上有离火，为燃炊烹饪之象，鼎有去旧立新，改过迁善之意\n" +
                "运势: 时运仍佳，事业可成，但诸事不宜迟滞，及防有诉讼之累。\n" +
                "爱情: 未婚者则顺利，已婚女性占得防婚外情影响家庭。\n" +
                "疾病: 病情有变，但无大碍，为胆石，心脏，消化系统病。\n" +
                "失物: 过一段时间后可寻回，惟已变形。\n" +
                "诉讼: 由小事引起，宜和解了事。");
        symbols.put("0,0,1,0,0,1","震为雷");
        contents.put("震上震下(0,0,1,0,0,1)", "震为雷【震】\n" +
                "金钟夜撞,中吉卦\n" +
                "卦辞: 占者逢之撞金钟，时来运转响一声。谋事求财不费力，交易合伙大亨通\n" +
                "推断: 求名遂意，做事遂心，走失行人，自然有音。\n" +
                "大象: 重雷发向，千里传声，有惊无险之象，亦有变动之意\n" +
                "运势: 表面昌盛风光，内里正处多事之秋，动荡不安之境。\n" +
                "爱情: 是非，纷乱，虚而无实之象。\n" +
                "疾病: 注意肝、神经系统、足疾，病情反覆。\n" +
                "失物: 可能是受某些事惊吓而遣失，令你惊惶失措，尝试于会发声的东西或电器处寻找。\n" +
                "诉讼: 反覆难平，宜收敛脾气，心平气和。");
        symbols.put("1,0,0,1,0,0","艮为山");
        contents.put("艮上艮下(1,0,0,1,0,0)", "艮为山【艮(gen)】\n" +
                "矬巴勾枣，下中卦\n" +
                "卦辞: 矬巴勾枣难捞枝，交易寻人不投机，谋望求财最费力，婚姻合伙终是虚\n" +
                "推断: 好事难成，走失难寻，凡事谨慎，交节安宁。\n" +
                "大象: 两重高山并峙，故宜止不宜进，阻塞之象\n" +
                "运势: 凡事不宜妄动，前路受阻，只好待机而动。\n" +
                "爱情: 有单恋不和之象，双方阻隔重重，关系停滞不前。\n" +
                "疾病: 难治，注意肠胃血管硬化及结核病。\n" +
                "失物: 可以寻回，但要等一段时间。藏在家中、旅馆、寺院、山中某处。\n" +
                "诉讼: 因小事而化大，宜速求和，忌土姓人。");
        symbols.put("1,1,0,1,0,0","风山渐");
        contents.put("巽上艮下(1,1,0,1,0,0)", "风山渐【渐】\n" +
                "凤鸣歧山,上上卦\n" +
                "卦辞: 凤凰落在西岐山，长鸣几声出圣贤。天降文王开基业，富贵荣华八百年\n" +
                "推断: 出门有益，求财必准，疾病皆除，诸事平稳。\n" +
                "大象: 山上种有树木，逐渐生长，比喻循序渐进\n" +
                "运势: 逐渐走向光明前途，凡事宜打根基，可得吉庆，但须防色情之难及文书错失。\n" +
                "爱情: 循序发展，可成功，但婚姻有再娶之象。\n" +
                "疾病: 恶化之象，注意胃、肠、背痛等。\n" +
                "失物: 多数不能寻回。\n" +
                "诉讼: 宜进不宜退，据理力争可胜。");
        symbols.put("0,0,1,0,1,1","雷泽归妹");
        contents.put("震上兑下(0,0,1,0,1,1)", "雷泽归妹【归妹】\n" +
                "缘木求鱼,下平卦\n" +
                "卦辞: 求鱼须当向水中，树上求之不顺情。受尽爬揭难遂意，劳而无功事不成\n" +
                "推断: 月令不好，做事颠倒，打算到手，遂心的少。\n" +
                "大象: 震长男在上，兑少女在下，女必归从，归即是出嫁，但少女配长男，非正常组合\n" +
                "运势: 处事有违常理正道，先得其益，但随后祸事百端。\n" +
                "爱情: 有女追男之象，但多为悲剧收场，宜三思而行。\n" +
                "疾病: 病危重，极易恶化，为中风、肝病、气管及性病等。\n" +
                "失物: 失物虽有被归还的可能，但自身仍有损失。\n" +
                "诉讼: 事牵连于女性，宜力求和解，但我方必有损失。");
        symbols.put("0,0,1,1,0,1","雷火丰");
        contents.put("震上离下(0,0,1,1,0,1)", "雷火丰【丰】\n" +
                "古镜重明,中吉卦\n" +
                "卦辞: 古镜昏暗好几年，一朝磨明似月圆。君子谋事占此卦，时来运转乐自然\n" +
                "推断: 出行有益，交易得利，疾病见好，求名遂意。\n" +
                "大象: 雷电交加，声势壮大，又离日动于天际，普照大地，皆为盛大之象\n" +
                "运势: 运势极强，为收获之时，但不宜贪得无厌，须知足常乐，要防是非，损财甚至火险。\n" +
                "爱情: 吉利有成，但不可得意忘形。\n" +
                "疾病: 病况重，注意肝足疾及血压，心脏等疾。\n" +
                "失物: 尽快找寻，可失而 得。\n" +
                "诉讼: 自己虽势如破竹，胜券在握，但应留一线。");
        symbols.put("1,0,1,1,0,0","火山旅");
        contents.put("离上艮下(1,0,1,1,0,0)", "火山旅【旅】\n" +
                "宿鸟焚巢,下下卦\n" +
                "卦辞: 飞鸟树上筑高巢，小人使计用火烧。如占此卦大不利，一切谋望枉徒劳\n" +
                "推断: 求财费力，行人未还，走失无信，找事也难。\n" +
                "大象: 火烧山野，火头遍布，所到之处，无一幸免，火头尤如行旅之人，无所定处\n" +
                "运势: 诸事变动不定，此时只好坚守信心，多参考他人意见，否则必有凶。\n" +
                "爱情: 呈现不稳定现象，有孤身上路之叹，宜检讨原因。\n" +
                "疾病: 病情变化不定，宜速就医。\n" +
                "失物: 尽快去找，应可寻回，失物似在屋舍之外，留意镜子之类物体，可提供线索。\n" +
                "诉讼: 宜速战速决，时间一拖则不利。");

        symbols.put("1,1,0,1,1,0","巽为风");
        contents.put("巽上巽下(1,1,0,1,1,0)", "巽为风【巽(xun)】\n" +
                "孤舟得水,中吉卦\n" +
                "卦辞: 泛舟得水离沙滩，出外行人早回家。是非口舌皆无碍，婚姻合伙更不差\n" +
                "推断: 功名称意，求财得利，交易可成，疾病痊愈。\n" +
                "大象: 此卦为两重巽风重叠，巽为入，风之所到无孔不入，尤如政令颁布，深入民心\n" +
                "运势: 波折重重，运势起落浮沉不定，要随机应变，心平气和，择善固执。\n" +
                "爱情: 有不稳定之象，宜作真诚沟通，不可一味奉承。\n" +
                "疾病: 六冲卦者久病则凶，且病情变化多端。\n" +
                "失物: 遣失在远处，不能寻回。\n" +
                "诉讼: 不易和解，但一方肯让步则易解决。");
        symbols.put("0,1,1,0,1,1","兑为泽");
        contents.put("兑上兑下(0,1,1,0,1,1)", "兑为泽【兑(dui)】\n" +
                "趁水和泥,中吉卦\n" +
                "卦辞: 这个卦象真有趣，觉着做事不费力。休要错过这机会，事事就觉遂心意\n" +
                "推断: 口舌消散，疾病痊愈，求财到手，谋事遂心。\n" +
                "大象: 两泽相依，更得泽中映月，美景良辰，令人怡悦\n" +
                "运势: 悲喜交集，有誉有讥，守正道，诸事尚可称意。\n" +
                "爱情: 可能因金钱而致口舌之争，又或者因两个女性而烦恼。\n" +
                "疾病: 六冲卦久病则凶，注意生活检点，戒酒色。\n" +
                "失物: 遣失物似为金属或金钱，有望失而 得，但是迟一点。且多数已损毁或损失。\n" +
                "诉讼: 似为两个女性及金钱之事惹起，宜有和事老出面调解。");
        symbols.put("1,1,0,0,1,0","风水涣");
        contents.put("巽上坎下(1,1,0,0,1,0)", "风水涣【涣(huan)】\n" +
                "隔河望金,下下卦\n" +
                "卦辞: 隔河望见一锭金，欲取河宽水又深。指望钱财难到手，日夜思想妄费心\n" +
                "推断: 婚姻不济，合伙无利，交易出行，总不如意。\n" +
                "大象: 风吹在水面上，流动四散，又有春风吹散严寒，令冰雪消解\n" +
                "运势: 虽有忧患，但终可解困，百事亨通，忌任性散慢。\n" +
                "爱情: 现时有障碍，但最终能圆满。\n" +
                "疾病: 幼年多体弱多病，及年逐长大而渐康 ，注意血液、内分泌。\n" +
                "失物: 不能寻回。\n" +
                "诉讼: 凡事宜大事化小，小事化无，诉讼可解。");
        symbols.put("0,1,0,0,1,1","水泽节");
        contents.put("坎上兑下(0,1,0,0,1,1)", "水泽节【节】\n" +
                "斩将封神,上吉卦\n" +
                "卦辞: 时来运转喜气生，登台封神姜太公。到此诸神皆退位，纵然有祸不成凶\n" +
                "推断: 月令高强，声名大杨，走失有信，官事不妨。\n" +
                "大象: 泽为池沼，坎水在上，喻蓄积及约束水份不使流失，但水位过高，则成泛滥\n" +
                "运势: 有志不能伸，诸事必须节制，不宜过份，更要戒酒色。\n" +
                "爱情: 男女正常交往则吉利，相反则凶。\n" +
                "疾病: 注意泌尿及消化系病变，宜速就医。\n" +
                "失物: 不能寻回。\n" +
                "诉讼: 局势僵持不下，宜让则讼可解。");
        symbols.put("1,1,0,0,1,1","风泽中孚");
        contents.put("巽上兑下(1,1,0,0,1,1)", "风泽中孚【中孚(fu)】\n" +
                "贩卖猪羊,下下卦\n" +
                "卦辞: 此卦占之运气歹，如同太公做买卖。贩猪羊快贩牛迟，猪羊齐贩断了宰\n" +
                "推断: 占名不利，占利不全，疾病不愈，做事更难。\n" +
                "大象: 中孚为诚信意，风吹在泽水之上，泽水必相应而起波浪，为共鸣之象\n" +
                "运势: 凡事以「诚」待人，以「信」处事则诸事皆吉，心存邪念则凶。\n" +
                "爱情: 双方能以诚相待，良缘可定。\n" +
                "疾病: 金木交战之象，士妥井啁理，注意胸腹脾胃。\n" +
                "失物: 可失而得，但需要一段时间。\n" +
                "诉讼: 为突发事件，宜把握第一时间处理，迟则反凶。");
        symbols.put("0,0,1,1,0,0","雷山小过");
        contents.put("震上艮下(0,0,1,1,0,0)", "雷山小过【小过】\n" +
                "急过独桥,中平卦\n" +
                "卦辞: 行人路过独木桥，心内惶恐眼里跳。爽利保保过得去，慢行一步不安牢\n" +
                "推断: 求财到手，官事平常，目下不吉，交节自强。\n" +
                "大象: 山上有雷，雷声虽大但被山阻隔，雷声减弱，即为「小过」\n" +
                "运势: 诸事不利，宜行小事，不宜做大事，更防因小过失做成惊动，惹来是非争讼。\n" +
                "爱情: 相处有障碍，虽可成功但最终又不和。\n" +
                "疾病: 病情有恶化之象，但及时诊治则吉，防手足，肠胃之疾。\n" +
                "失物: 不能寻回。\n" +
                "诉讼: 不宜各走极端，宜多沟通和解。");
        symbols.put("0,1,0,1,0,1","水火既济");
        contents.put("坎上离下(0,1,0,1,0,1)", "水火既济【既济】\n" +
                "金榜题名,上中卦\n" +
                "卦辞: 金榜之上提姓名，不负当年苦用功。人逢此卦多吉庆，一切谋望大亨通\n" +
                "推断: 月令吉善，找人寻见，走失能找，口舌消散。\n" +
                "大象: 坎水在离火之上，水性下注，火势上炎，水火相济。完成之意\n" +
                "运势: 名利双收，成功之象，防物极必反，初吉后凶。\n" +
                "爱情: 初则出双入对，形影不离，但日久反目离异。\n" +
                "疾病: 短期虽有好转，但好景不常。\n" +
                "失物: 应可寻回。\n" +
                "诉讼: 有理说不清，仍须把握最有利时机争取主动，迟则反见凶。");
        symbols.put("1,0,1,0,1,0","火水未济");
        contents.put("离上坎下(1,0,1,0,1,0)", "火水未济【未济】\n" +
                "太岁月健,中平卦\n" +
                "卦辞: 太岁入运事多愁，婚姻财帛莫强求。交易出门走见吉，走失行人不露头\n" +
                "推断: 官讼不吉，口舌有灾，目下忍耐，过月无妨。\n" +
                "大象: 水性下注，火势向上，水火不交，阴阳不得正位，未能完成和未能成功之意\n" +
                "运势: 运气欠佳，但必须耐心突破难关，终可成功，有初凶后吉之象。\n" +
                "爱情: 发展初期难以沟通，格格不入，但必须耐心，慢慢会得到对方接受。\n" +
                "疾病: 病情不稳定，注意心肾不交、失眠、血液等病。\n" +
                "失物: 不能寻回。\n" +
                "诉讼: 宜拖延时间，日久可得贵人之助，和解了事。");
        // ======================下经======================
    }

    public Map start() {
        Map resultMap = new HashMap();
        List<String> logs = new ArrayList<>();

        // 大衍数
        int origin = 50;

        // 1为太极数(象征天地混沌为一体)，虚设而不用
        int start = origin - 1;

        // 存放卦爻
        List<Integer> divinatory_symbols = new ArrayList<>(6);

        int count = 1;
        while (count <= 18) {
            // 随机分为两组(分二以象两), 即使一边为0也可以
            // 左为天道
            // [1,49),不包括49
            int left = ThreadLocalRandom.current().nextInt(1,start);
            // 右为地道
            int right = start - left;
            // 挂一(任意取其一)
            // 人道
            int people = 1;
            // 随机抽取，1表示天，2表示地
            int random = 0;
            if (left == 1 || right == 1) {
                // 当天为1时，不从天抽取，而是从地抽取，避免出现为0
                if (left == 1) {
                    right -= people;
                    random = 2;
                } else {
                    // 当地为1时，不从地抽取，而是从天抽取，避免出现为0
                    left -= people;
                    random = 1;
                }
            } else {
                // 随机从左或右扣减
                random = ThreadLocalRandom.current().nextInt(3);
                if (random == 1) {
                    left -= people;
                } else {
                    right -= people;
                }
            }

            // 归奇
            // 象征五年两闰
            int tmp1 = left % 4;
            // 如果刚好整除则为4, 不能出现为0, 因为这样不尊重神明也不尊重自己
            if (tmp1 == 0) {
                tmp1 = 4;
            }

            // 象征余日而成闰月
            int tmp2 = right % 4;
            // 如果刚好整除则为4
            if (tmp2 == 0) {
                tmp2 = 4;
            }

            // 综上所述，第一次剩余44或44
            // 第二次剩余40或36或32
            // 第三次剩余36或32或28或24
            // 以上操作为一变
            logger.info("{}变{} {} 天: {}, 地: {}, 人: {} 【中指{}无名指】【食指{}中指】={}", count, start, random, left, right, people, tmp1, tmp2, (tmp1 + tmp2 + people));
            logs.add("第"+count+"变: 起数("+start+") 天("+left+") 地(" + right + ") 人("+people+") 归奇[中指&无名指]("+tmp1+") 归奇[中指&食指]("+tmp2+")");
            start = start - tmp1 - tmp2 - people;
            // 三变为一卦爻
            if (count % 3 == 0) {
                int result = start / 4;
                // 奇数为阳, 偶数为阴, 老阳=9, 少阴=8, 少阳=7, 老阴=6
                // 1,3,5,7,9为阳[——](代表天数), 2,4,6,8,10为阴[--](代表地数)
                // 天数之和=25=(1+3+5+7+9), 地数之和=30=(2+4+6+8+10), 天地之数合为55
                // 天地之数,大道一体,五行更替就已经占去五了
                // 大衍之数是包括了人的因素, 需要大道具体的指引, 大道的具体指引就体现在具体的爻以及爻组成的卦形中
                // 代表天数的阳爻 六爻皆阳(为乾), 六爻至阳至纯就是六爻皆为老阳
                logs.add("卦爻: ("+result + ")");

                // logger.info("{}={}: {}", start, result, result == 9 ? "老阳" : result == 8 ? "少阴" : result == 7 ? "少阳" : "老阴");
                // 保存卦爻
                divinatory_symbols.add(result);
                start = origin - 1;
            }
            count++;
        }

        logger.info("卦：{}", divinatory_symbols.stream().
                map(e -> String.valueOf(e)).
                collect(Collectors.joining(",")));
        processMsg(divinatory_symbols, resultMap, logs);

        return resultMap;
    }

    private void processMsg(List<Integer> divinatory_symbols, Map resultMap, List<String> logs) {
        // 将6,7,8,9转为0,1(这个时候是从下往上的排序)
        StringBuffer sb = new StringBuffer(divinatory_symbols.stream().map(e -> String.valueOf(e % 2)).collect(Collectors.joining(",")));
        // 反转,因为结果是先上后下,不然找不到对应
        String key = sb.reverse().toString();
        Map<String, String> item = new HashMap<>();
        if(CacheLoader.contents != null && CacheLoader.contents.size() > 0){
            // 从文件读取
            CacheLoader.contents.forEach((k, v) ->
            {
                if (k.contains(key)) {
                    logger.info(v);
                }
            });
            item = CacheLoader.contents.entrySet().stream().filter((e) -> checkKey(e.getKey(), key)).collect(Collectors.toMap((e) -> (String) e.getKey(), (e) -> e.getValue()));
        }else{
            // 当文件不存在时或没内容时从代码里读
            contents.forEach((k, v) ->
            {
                if (k.contains(key)) {
                    logger.info(v);
                }
            });
            item = contents.entrySet().stream().filter((e) -> checkKey(e.getKey(), key)).collect(Collectors.toMap((e) -> (String) e.getKey(), (e) -> e.getValue()));
        }
        // 原卦
        resultMap.put("result_code", "("+key+")");
        resultMap.put("result_msg", item);
        if(logs != null){
            resultMap.put("log", logs);
        }
        // 互卦: 本卦的2,3,4与3,4,5组成, %2是判断奇偶
        String key_h = divinatory_symbols.get(4)%2
                +","+divinatory_symbols.get(3)%2
                +","+divinatory_symbols.get(2)%2
                +","+divinatory_symbols.get(3)%2
                +","+divinatory_symbols.get(2)%2
                +","+divinatory_symbols.get(1)%2;
        resultMap.put("result_code_h", "("+key_h+")");
        String result_msg_h = symbols.entrySet().stream().filter((e) -> e.getKey().contains(key_h)).findFirst().get().getValue();
        resultMap.put("result_msg_h", result_msg_h);
        // 错卦: 求反
        String key_r = new StringBuffer(divinatory_symbols.stream().map(e -> String.valueOf((e+1) % 2)).collect(Collectors.joining(","))).reverse().toString();
        resultMap.put("result_code_r", "("+key_r+")");
        String result_msg_r = symbols.entrySet().stream().filter((e) -> e.getKey().contains(key_r)).findFirst().get().getValue();
        resultMap.put("result_msg_r", result_msg_r);
        // 综卦: 本卦颠倒后得到
        String key_a = sb.reverse().toString();
        resultMap.put("result_code_a", "("+key_a+")");
        String result_msg_a = symbols.entrySet().stream().filter((e) -> e.getKey().contains(key_a)).findFirst().get().getValue();
        resultMap.put("result_msg_a", result_msg_a);
        // 变卦: 依次改变初爻、二爻、三爻、四爻、五爻、上爻
        String key_1 = divinatory_symbols.get(5)%2
                +","+divinatory_symbols.get(4)%2
                +","+divinatory_symbols.get(3)%2
                +","+divinatory_symbols.get(2)%2
                +","+divinatory_symbols.get(1)%2
                +","+(divinatory_symbols.get(0)+1)%2;
        resultMap.put("result_code_change_1", "("+key_1+")");
        String result_msg_change_1 = symbols.entrySet().stream().filter((e) -> e.getKey().contains(key_1)).findFirst().get().getValue();
        resultMap.put("result_msg_change_1", result_msg_change_1);
        String key_2 = divinatory_symbols.get(5)%2
                +","+divinatory_symbols.get(4)%2
                +","+divinatory_symbols.get(3)%2
                +","+divinatory_symbols.get(2)%2
                +","+(divinatory_symbols.get(1)+1)%2
                +","+divinatory_symbols.get(0)%2;
        resultMap.put("result_code_change_2", "("+key_2+")");
        String result_msg_change_2 = symbols.entrySet().stream().filter((e) -> e.getKey().contains(key_2)).findFirst().get().getValue();
        resultMap.put("result_msg_change_2", result_msg_change_2);
        String key_3 = divinatory_symbols.get(5)%2
                +","+divinatory_symbols.get(4)%2
                +","+divinatory_symbols.get(3)%2
                +","+(divinatory_symbols.get(2)+1)%2
                +","+divinatory_symbols.get(1)%2
                +","+divinatory_symbols.get(0)%2;
        resultMap.put("result_code_change_3", "("+key_3+")");
        String result_msg_change_3 = symbols.entrySet().stream().filter((e) -> e.getKey().contains(key_3)).findFirst().get().getValue();
        resultMap.put("result_msg_change_3", result_msg_change_3);
        String key_4 = divinatory_symbols.get(5)%2
                +","+divinatory_symbols.get(4)%2
                +","+(divinatory_symbols.get(3)+1)%2
                +","+divinatory_symbols.get(2)%2
                +","+divinatory_symbols.get(1)%2
                +","+divinatory_symbols.get(0)%2;
        resultMap.put("result_code_change_4", "("+key_4+")");
        String result_msg_change_4 = symbols.entrySet().stream().filter((e) -> e.getKey().contains(key_4)).findFirst().get().getValue();
        resultMap.put("result_msg_change_4", result_msg_change_4);
        String key_5 = divinatory_symbols.get(5)%2
                +","+(divinatory_symbols.get(4)+1)%2
                +","+divinatory_symbols.get(3)%2
                +","+divinatory_symbols.get(2)%2
                +","+divinatory_symbols.get(1)%2
                +","+divinatory_symbols.get(0)%2;
        resultMap.put("result_code_change_5", "("+key_5+")");
        String result_msg_change_5 = symbols.entrySet().stream().filter((e) -> e.getKey().contains(key_5)).findFirst().get().getValue();
        resultMap.put("result_msg_change_5", result_msg_change_5);
        String key_6 = (divinatory_symbols.get(5)+1)%2
                +","+divinatory_symbols.get(4)%2
                +","+divinatory_symbols.get(3)%2
                +","+divinatory_symbols.get(2)%2
                +","+divinatory_symbols.get(1)%2
                +","+divinatory_symbols.get(0)%2;
        resultMap.put("result_code_change_6", "("+key_6+")");
        String result_msg_change_6 = symbols.entrySet().stream().filter((e) -> e.getKey().contains(key_6)).findFirst().get().getValue();
        resultMap.put("result_msg_change_6", result_msg_change_6);

        // 每三变之后得到的数字除以4得到商可能为: 9,8,7,6(四营而成易)
        // 1.生数成数: 1-5是生数, 6-10是成数(结果), 奇数为阳(——), 偶数为阴(--), 成数里面最大的阳数是9[老阳], 最小的偶数是6[老阴](阴阳对立, 大小对应, 奇偶对应)
        // 2.五行之说: 世界万物都有五个形态组成, 依据五行(1,2,3,4,5), 奇数之和(1,3,5)=9(老阳), 偶数之和(2,4)=6(老阴)
        // 奇数为阳, 偶数为阴, 老阳=9, 老阴=6, 少阳=7, 少阴=8


        // 天数(1,3,5,7,9)之和为25, 地数(2,4,6,8,10)之和为30, 合起来就是55(凡天地之数五十有五,...)
        // 代表天数的阳爻, 六爻皆阳为乾, 至阳至纯, 六爻皆为老阳, 蓍草9x4为36, 36 x 6 = 214 ??? 不是216?
        // 代表地数的阴爻, 六爻皆阴为坤, 至阴至纯, 六爻皆为老阴, 蓍草6x4为24, 24 x 6 = 144
        // 乾卦多了一个"用九", 坤卦多了一个"用六", 214 + 144 + 1 + 1 = 360
        // 六十四卦, 共有384爻, 阴阳各192爻 ???
        // 分别乘以老阳36、老阴24, 和为 192 x (36 + 24) = 11520(天地之数)
    }

    private static boolean checkKey(Object object, String key){
        if (object instanceof String && object.toString().contains(key)) {
            return true;
        }
        return false;
    }

    public Map random(int start, int count) {
        Map resultMap = new HashMap();
        if(start < 50 && start > 1){
            // [1,49),不包括49
            int left = ThreadLocalRandom.current().nextInt(1,start);
            // 右为地道
            int right = start - left;
            // 挂一(任意取其一)
            // 人道
            int people = 1;
            // 随机抽取，1表示天，2表示地
            int random = 0;
            if (left == 1 || right == 1) {
                // 当天为1时，不从天抽取，而是从地抽取，避免出现为0
                if (left == 1) {
                    right -= people;
                    random = 2;
                } else {
                    // 当地为1时，不从地抽取，而是从天抽取，避免出现为0
                    left -= people;
                    random = 1;
                }
            } else {
                // 随机从左或右扣减
                random = ThreadLocalRandom.current().nextInt(3);
                if (random == 1) {
                    left -= people;
                } else {
                    right -= people;
                }
            }

            // 归奇
            // 象征五年两闰
            int tmp1 = left % 4;
            // 如果刚好整除则为4, 不能出现为0, 因为这样不尊重神明也不尊重自己
            if (tmp1 == 0) {
                tmp1 = 4;
            }

            // 象征余日而成闰月
            int tmp2 = right % 4;
            // 如果刚好整除则为4
            if (tmp2 == 0) {
                tmp2 = 4;
            }

            // 起始数
            resultMap.put("start", start);
            // 随机数,为了不出现0的情况,当一边为1时,自动从另一边抽 人
            resultMap.put("random",random);
            // 天
            resultMap.put("left", left);
            // 地
            resultMap.put("right", right);
            // 中指{}无名指
            resultMap.put("tmp1", tmp1);
            // 中指{}食指
            resultMap.put("tmp2", tmp2);
            // 剩余数
            int end = start - tmp1 - tmp2 - people;
            resultMap.put("end", end);
            // 因为js没法做除法运算
            if(count % 3 == 0){
                resultMap.put("i", (count / 3));
                int result = end / 4;
                resultMap.put("result", result);
            }
        }
        return resultMap;
    }

    public Map msg(String code) {
        Map resultMap = new HashMap();
        if(StringUtils.isNotBlank(code) && code.contains(",")){
            List<String> tmps = Arrays.asList(code.split(","));
            if(tmps != null && tmps.size() == 6){
                List<Integer> symbols = tmps.stream().map(e -> Integer.parseInt(e)).collect(Collectors.toList());
                processMsg(symbols, resultMap, null);
            }
        }
        return resultMap;
    }
}
